package com.minshenglife.zanzan.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.minshenglife.commons.dal.EntityDao;
import com.minshenglife.commons.dal.MyBatisRepository;
import com.minshenglife.commons.dal.Page;
import com.minshenglife.zanzan.entity.Dept;
import com.minshenglife.zanzan.entity.User;
import com.minshenglife.zanzan.result.UserResult;


/**
 * DAO
 * 
 * @author huodd
 * @date 2014.02.14
 */
@Repository
@MyBatisRepository
public interface UserDao extends EntityDao<User> {


	public User getUserByUserId(@Param("userId") String userId);
	
	/**获取部门信息*/
	public Dept getDeptInfo(String deptId);
	/**添加部门信息*/
	public void insertDeptInfo(Dept dept);
	/**更新部门信息*/
	public void updateDeptInfo(Dept dept);
	
	/**根据指定条件查询评论记录总条数**/
	public Long countByParams( Map<String,Object> map);
	/**根据指定条件查询评论记录**/
	public List<User> findByParams(Map<String,Object> map);
	/**根据指定条件查询用户id**/
	public String findByOpenId(String openId);
	
	/**获取已经离职但是没有解绑的用户 **/
	public List<User> findEmpOfLeaveAndNotUnBindList();
	
	/** 初始加载赠送人页面本科室的员工信息 */
	public List<UserResult> initSearchEmpInfoList(@Param("empId") String empId);
	/** 模糊查询员工信息，可以输入员工号、员工名称、部门名称 */
	public List<UserResult> findEmpInfoList(@Param("content") String content);
	
	
	/** 查询全部用户 */
	public Page<User> selectAll();
	
	public Dept findDept(Map<String,Object> map);

	public List<User> findByExampleAll(User arg0);
	
	public void empUnbound(User user);
}
